package com.lostreseditores.sabersai.dataaccess.dao;

import java.util.List;
import java.util.Map;

import com.lostreseditores.sabersai.model.Colegio;
import com.lostreseditores.sabersai.model.dto.ColegioDTO;


public interface IColegioDAO {
    public void save(Colegio instance);

    public void delete(Colegio instance);

    public void update(Colegio instance);

    public Colegio findById(Integer id);

    public List<Colegio> findByExample(Colegio instance);

    public List<Colegio> findByProperty(String propertyName, Object value);

    public List<Colegio> findAll();

    public List<Colegio> findByCriteria(String whereCondition);

    public List<Colegio> findPageColegio(String sortColumnName,
        boolean sortAscending, int startRow, int maxResults);

    public Long findTotalNumberColegio();

    public List<Colegio> findByColecoddanen(Object colecoddanen);

    public List<Colegio> findByColedescripv(Object coledescripv);

    public List<Colegio> findByColedireccionv(Object coledireccionv);

    public List<Colegio> findByColeemailv(Object coleemailv);

    public List<Colegio> findByColefaxv(Object colefaxv);

    public List<Colegio> findByColeidn(Object coleidn);

    public List<Colegio> findByColelogov(Object colelogov);

    public List<Colegio> findByColesectorv(Object colesectorv);

    public List<Colegio> findByColetelefonofv(Object coletelefonofv);

    public List<Colegio> findByColezonav(Object colezonav);

    public List<Colegio> findByLugaidn(Object lugaidn);
    
    public List<Colegio> encontrarColegios(int startingAt, int maxPerPage, String order, String sortField, Map<String, String> filters, String lugaidn); 
    
    public Long findTotalNumberColegio(Map<String, String> filters, String lugaidn);
    
    public List<ColegioDTO> findAllColegioDTO();
    
}
